package main

import (
	"fmt"
	"os"
	"os/signal"
	"syscall"
	"time"
)

func Logic() {
	for {
		time.Sleep(time.Second * 2)
		fmt.Println("logic time=", time.Now().Unix())
	}
}
func main() {
	// 逻辑处理协程
	go Logic()
	// 监控两个信号
	// TERM信号（kill + 进程号 触发）
	// 中断信号（ctrl + c 触发）
	osc := make(chan os.Signal, 1)
	signal.Notify(osc, syscall.SIGTERM, syscall.SIGINT)
	s := <-osc
	fmt.Println("监听到退出信号,s=", s)
	// 退出前的清理操作
	// clean()
	fmt.Println("main程序退出")
}
